這三篇文章先跟大家講為什麼選Javascrip,再來給你一個完整的JavaScript Web Application筆記(線上書籍),最後來看看 HTML 5中Mobile App與 JavaScript解析。
第一篇:我為什麼大舉投入 JavaScript 的相關開發 (http://fred-zone.blogspot.com/2012/03/javascript.html)
內容摘要:
尋求同時兼顧開發效率和軟體效能的解決方案
其實一直以來,非常希望尋找一個語言,能快速又無痛的去開發各種應用,又不失效能、彈性和硬體、系統的耦合度。我知道,這無疑是天方夜談,但是若是一種語言沒辦法達成,如果用兩種語言配合,只要能達到這需求,又有何不可?
因此,Node.js 和 Libjs 這類的開放源始碼專案,給我很大的啟發。藉由輕量化,分離 JavaScript Engine 和其效能最大瓶頸 - 『瀏覽器』,使 JavaScript 非常適用於各種領域。許多非關效能的事,可以交給 JavaScript 來做,而需要效能、與硬體和系統溝通的工作,可以交給 C/C++ 來處理。兩者只要之間只要定好模組規範,即可兼顧開發效率和彈性及效能。JavaScript 因此可得到以往完全無法想像的發展空間,又能避免使用 C/C++ 辛苦的開發過程,加速程式應用的研發。
對於 JavaScript 來說,瀏覽器不再是束縛而是選項
或許有人說,JavaScript 若捨棄了瀏覽器即捨棄掉了最大的優點。但在我的觀點來看,瀏覽器不是被捨棄了,而只是成為了『用 JavaScript 開發使用者介面』的選項之一,若你願意,仍可繼續使用。但為了讓研發使用者介面有更輕量節省資源的選擇,前些日子,我才開發了『node-clutter』(現已改名成為 jsdx-toolkit),做為沒有瀏覽器後,使用 JavaScript 開發 OpenGL/GLES 程式和使用者介面的替代方案。
我相信的新一代 JavaScript 解決方案
這樣新一代的 JavaScript 解決方案,有數不清的優點可以一一詳列,但最重要的有三點:
使各類嵌入式系統開發更為快速,尤其與使用者介面(User Interface)相關的。
滿街數不清的 JavaScript 開發者都可以晉升成後端甚至系統工程師, 不再只是末端應用的開發人員。
統一前後端的開發經驗,讓研發人員在這雲端時代,可以更專注於應用的設計。
同時也打破了過去業界中存在的矛盾與迷思:
JavaScript 和瀏覽器的肥大是共存。
JavaScript 除了用來做 Web 和資料庫系統相關應用之外,不能變成產品化的軟體。
換言之:
對企業來說:加速開發,省錢,再省錢。
對傳統 Web 開發者:更有發展空間,更有實際價值。
對硬底子開發者:讓自己的底層成果能更快被看的見。
第二篇:《JavaScript Web Application》筆記 (http://www.hulufei.com/post/javascript-web-application)
內容摘要:
本書作者Alex MacCaw也是Spine框架的作者,看到後面開始接觸Spine才發現這書一步步闡述JavaScript實現MVC就是Spine.js的設計思想,不知不覺中就被帶著剖析了一遍一個先進框架的源碼,瞬間就覺得功力暴漲有沒有。
Chapter 1. MVC and Classed
Chapter 2. Events and Observing
Chapter 3. Models and Data
Chapter 4. Controllers and State
Chapter 5. Views and Templating
Chapter 9. Testing and Debugging
Chapter 10. Deploying
Chapter 11. The Spine Library
第三篇:Web App Trend (http://www.webapptrend.com/2011/12/780.html)
內容摘要:
現在可以介紹其中一個很重要的部分了,Javascript。在幾年以前,跨平臺的Javascript還沒有受到廣泛的關注(那時HTML5也沒有引起大家的注意)。但就在這幾年,Javascript的地位發生了明顯的變化。在短短兩年的時間裡,Javascript已經成為為使用者提供資料、邏輯和交互的主要方法了。
而Javascript上的這些轉變都是伴隨著HTML5的推進而發生的,難怪人們總是將Javascript和HTML5視為一體。換言 之,HTML5上有許多新的功能,但是如果沒有Javascript,這些功能也無法應用。你能否找到使用者的物理位置?如果有Javascript就可 以。能否離線保存使用者資料?有了Javascript就可以。
想想Javascript之前的開發框架: Scriptaculous, Prototype, MooTools和jQuery。我不認為有人是因為喜歡Javascript才採用它的——Javascript使用起來並不方便。所有的這些開發框架 確實使得我們的生活變得更加方便,並且改變了Web的面貌,許多開發者如果沒有其他這些框架的幫助,根本無法開發出Javascript程式。
移動web apps開發中最困難也是最耗時的工作就是測試。你使用的所有技術必須都是可以被檢測的。如果你不瞭解一個技術的原理,那麼你需要耗費大量的時間和精力來解決一個小小的bug。
如果你的應用只是針對某個特定的平臺,也許這還可以容忍。但如果應用平臺變得複雜起來,開發和測試的工作量將會呈現指數級的增長。
Murphy定律——“一個事情只要有可能出錯,那麼它不久將會出錯”——是移動web apps開發中唯一的準則。如果你使用了某個技術,那麼你需要確保這個技術在你的應用中不會出錯。
下面將Javascript分成三個部分分別進行介紹。